package com.fucheng.server;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 将服务抽象为一个配置项，便于服务注册表管理多个服务
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ServiceConfig<T> {

    // 接口类，比如 HelloService.class
    private Class<T> interfaceClass;

    // 实际的实现类对象，比如 new HelloServiceImpl()
    private T ref;

    // 可选：服务版本（用于升级）
    private String version = "1.0";

    // 可选：服务名称（可用于重命名或区分）
    private String serviceName;

    public ServiceConfig(Class<T> interfaceClass, String version, String serviceName) {
        this.interfaceClass = interfaceClass;
        this.version = version;
        this.serviceName = serviceName;
    }

}
